package com.fare.taluo.core.domain.freightprice;

import java.util.Date;
import java.util.List;
/**
 * 运价核心仓储
 * <p>负责对运价各个维度的数据检索
 * <p>不论数据仓储接口用hibernate,还是hbase，或其它，都需要整合成定义接口的指定模型
 * @author creator: xiangsf
 * @author modifior: xiangsf
 * @since 2012-12-26-下午3:58:09
 * @version v1.0
 */
public interface FreightPriceRepository{
	/**
	 * 查询某一天(以起飞时间为准)的指定航线最低价
	 * @param fromCity 出发城市
	 * @param toCity 目的城市
	 * @param date 航线的日期
	 * @return
	 */
	public List<FreightFlightEntity> findDay(String fromCity, String toCity, Date date) throws Exception;
	
	/**
	 * 查询出某一天(以起飞时间为准)的所有航线最低价数据
	 * @param date 航线的日期
	 * @return
	 */
	public List<FreightFlightEntity> findDay(Date date) throws Exception;
	/**
	 * 根据抓取时间获得运价航班数据
	 * @param carrierCode 航空公司
	 * @param sdate	抓取的开始时间
	 * @param edate 抓取的结束时间
	 * @return 运价航班数据，以单个航班号为维度的运价数据集合
	 */
	public List<FreightFlightNoEntity> findGrapDay(String carrierCode, Date sdate, Date edate) throws Exception;
}
